package com.sc.nft.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.sc.nft.enums.ApprovalStatusEnum;
import com.sc.nft.enums.MallBuyLimitTypeEnum;
import com.sc.nft.enums.task.ActivityTypeEnum;
import com.sc.nft.enums.task.ParticipantsEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
public class ActivityDTO extends IdRequest {

    @ApiModelProperty(value = "商品Id")
    private Long productId;

    @ApiModelProperty(value = "商品名称")
    private String productName;

    @ApiModelProperty(value = "活动类型")
    private ActivityTypeEnum activityType;

    @ApiModelProperty(value = "购买上限")
    private Integer buyLimit;

    /**
     * 兑换1件商品的金额
     */
    @ApiModelProperty(value = "兑换1件商品的金额")
    private BigDecimal exchangeAmount;

    /**
     * 购买上限类型0：固定上限，1动态上限
     */
    @ApiModelProperty(value = "购买上限类型0：固定上限，1动态上限")
    private MallBuyLimitTypeEnum buyLimitType;

    @ApiModelProperty(value = "起购时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date startTime;

    @ApiModelProperty(value = "结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date endTime;

    @ApiModelProperty(value = "参与对象")
    private ParticipantsEnum participants;

    @ApiModelProperty(value = "藏品Id")
    private Long collectionId;
    @ApiModelProperty(value = "藏品名称")
    private String firstTitle;
    @ApiModelProperty(value = "规格")
    private List<ActivitySpecsDTO> specsDTOS;

    @ApiModelProperty(value = "兑换规格")
    private List<ListActivitySpecsExchangeDTO> exchangeDTOSList;

    @ApiModelProperty(value = "审核状态")
    private ApprovalStatusEnum approvalStatus;

    @ApiModelProperty(value = "审批原因")
    private String remark;

    @ApiModelProperty(value = "权重")
    private Integer sort;

    @ApiModelProperty(value = "商城权重")
    private Integer mallSort;

    /**
     * 活动商品展示渠道
     */
    private String showChannel;

    private Long daoid;
}
